package com.liiiyian.testitem.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName table_1
 */
@TableName(value ="table_1")
@Data
public class Table1 implements Serializable {
    /**
     * 主键，自增
     */
    @TableId(value = "Column_1")
    @ExcelProperty("主键")  // EasyExcel导入Excel到数据库，映射Excel表头
    private String column1;

    /**
     * 姓名
     */
    @TableField(value = "Column_2")
    @ExcelProperty("姓名")
    private String column2;

    /**
     * 姓名全拼，全部小写字母
     */
    @TableField(value = "Column_3")
    @ExcelProperty("姓名全拼")
    private String column3;

    /**
     * 性别（男，女）
     */
    @TableField(value = "Column_4")
    @ExcelProperty("性别")
    private String column4;

    /**
     * 身份证证件类型（居民身份证、士官证、学生证、驾驶证、护照、港澳通行证）
     */
    @TableField(value = "Column_5")
    @ExcelProperty("身份证类型")
    private String column5;

    /**
     * 身份证证件号码
     */
    @TableField(value = "Column_6")
    @ExcelProperty("身份证号码")
    private String column6;

    /**
     * 出生日期
     */
    @TableField(value = "Column_7")
    @ExcelProperty("出生日期")
    private Date column7;

    /**
     * 手机号码
     */
    @TableField(value = "Column_8")
    @ExcelProperty(value = "手机号码")
    private String column8;

    /**
     * 电子邮箱
     */
    @TableField(value = "Column_9")
    @ExcelProperty("电子邮箱")
    private String column9;

    /**
     * 创建时间（创建时间倒序排序）
     */
    @TableField(value = "createtime")
    @ExcelProperty("创建时间")
    private Date createtime;

    /**
     * 修改时间
     */
    @TableField(value = "updatetime")
    @ExcelProperty("修改时间")
    private Date updatetime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Table1 other = (Table1) that;
        return (this.getColumn1() == null ? other.getColumn1() == null : this.getColumn1().equals(other.getColumn1()))
            && (this.getColumn2() == null ? other.getColumn2() == null : this.getColumn2().equals(other.getColumn2()))
            && (this.getColumn3() == null ? other.getColumn3() == null : this.getColumn3().equals(other.getColumn3()))
            && (this.getColumn4() == null ? other.getColumn4() == null : this.getColumn4().equals(other.getColumn4()))
            && (this.getColumn5() == null ? other.getColumn5() == null : this.getColumn5().equals(other.getColumn5()))
            && (this.getColumn6() == null ? other.getColumn6() == null : this.getColumn6().equals(other.getColumn6()))
            && (this.getColumn7() == null ? other.getColumn7() == null : this.getColumn7().equals(other.getColumn7()))
            && (this.getColumn8() == null ? other.getColumn8() == null : this.getColumn8().equals(other.getColumn8()))
            && (this.getColumn9() == null ? other.getColumn9() == null : this.getColumn9().equals(other.getColumn9()))
            && (this.getCreatetime() == null ? other.getCreatetime() == null : this.getCreatetime().equals(other.getCreatetime()))
            && (this.getUpdatetime() == null ? other.getUpdatetime() == null : this.getUpdatetime().equals(other.getUpdatetime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getColumn1() == null) ? 0 : getColumn1().hashCode());
        result = prime * result + ((getColumn2() == null) ? 0 : getColumn2().hashCode());
        result = prime * result + ((getColumn3() == null) ? 0 : getColumn3().hashCode());
        result = prime * result + ((getColumn4() == null) ? 0 : getColumn4().hashCode());
        result = prime * result + ((getColumn5() == null) ? 0 : getColumn5().hashCode());
        result = prime * result + ((getColumn6() == null) ? 0 : getColumn6().hashCode());
        result = prime * result + ((getColumn7() == null) ? 0 : getColumn7().hashCode());
        result = prime * result + ((getColumn8() == null) ? 0 : getColumn8().hashCode());
        result = prime * result + ((getColumn9() == null) ? 0 : getColumn9().hashCode());
        result = prime * result + ((getCreatetime() == null) ? 0 : getCreatetime().hashCode());
        result = prime * result + ((getUpdatetime() == null) ? 0 : getUpdatetime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", column1=").append(column1);
        sb.append(", column2=").append(column2);
        sb.append(", column3=").append(column3);
        sb.append(", column4=").append(column4);
        sb.append(", column5=").append(column5);
        sb.append(", column6=").append(column6);
        sb.append(", column7=").append(column7);
        sb.append(", column8=").append(column8);
        sb.append(", column9=").append(column9);
        sb.append(", createtime=").append(createtime);
        sb.append(", updatetime=").append(updatetime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}